home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
201-225
/
disk_218
/
maze
/
about.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
8KB
|
236 lines
#include <exec/types.h>
#include <graphics/view.h>
#include <intuition/intuition.h>
#include <functions.h>
#include <libraries/dos.h>
#include <libraries/dosextens.h>
extern struct Window *window;
extern ULONG RangeRand();
extern struct TextAttr font;
cycle(color) int color;
{ struct ColorMap *cm;
struct ViewPort *vp;
UWORD orig, r, g, b, ro, go, bo;
int i;
vp = ViewPortAddress( window );
cm = vp -> ColorMap;
orig = GetRGB4( cm, (LONG) color );
b = (bo = (orig ) & 15);
g = (go = (orig >> 4) & 15);
r = (ro = (orig >> 8) & 15);
for (i=0; i<1000; i++) {
r = RangeRand(2L) * 15;
g = RangeRand(2L) * 15;
b = RangeRand(2L) * 15;
SetRGB4(vp,(LONG)color,(LONG)r,(LONG)g,(LONG)b);
}
SetRGB4(vp,(LONG)color,(LONG)ro,(LONG)go,(LONG)bo);
}
#define reqW 544
#define reqH 152
#define centerX(chars) (reqW/2 - (chars)*8/2)
#define centerXright(chars) (reqW - 111 - (chars)*8/2)
#define centerXleft(chars) (111 - (chars)*8/2)
SHORT reqborderXY[] = { 2,1, 541,1, 541,150, 2,150, 2,1 };
struct Border reqborder = {
0,0, /* LeftEdge, TopEdge */
1,1, /* FrontPen, BackPen */
JAM1, /* DrawMode */
5, /* Count */
reqborderXY,/* SHORT *XY */
NULL, /* NextBorder */
};
SHORT gadborderXY[] = { 2,1, 97,1, 97,28, 2,28, 2,1 };
struct Border gadborder = {
2,1, /* LeftEdge, TopEdge */
1,2, /* FrontPen, BackPen */
JAM2, /* DrawMode */
5, /* Count */
gadborderXY, /* SHORT *XY */
NULL, /* NextBorder */
};
struct IntuiText gadtext = {
1,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
18,11, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "Continue", /* IText */
NULL, /* struct IntuiText *NextText */
};
struct Gadget aboutgad = {
NULL, /* NextGadget */
222,117,100,30, /* LeftEdge, TopEdge, Width, Height */
GADGHNONE, /* Flags */
ENDGADGET | TOGGLESELECT, /* Activation Flags */
REQGADGET | BOOLGADGET, /* GadgetType */
(APTR)&gadborder, /* GadgetRender */
NULL, /* SelectRender */
&gadtext, /* GadgetText */
NULL, /* MutualExclude */
NULL, /* SpecialInfo */
0, /* GadgetID */
NULL, /* UserData */
};
struct IntuiText ab_txt8= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
20,102, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "Comments and suggestions are welcome.", /* IText */
NULL, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt7= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
20,92, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "writing it. Please feel free to share it with your friends.", /* IText */
&ab_txt8, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt6= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
20,82, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) " I hope you enjoy playing this game as much as I enjoyed", /* IText */
&ab_txt7, /* struct IntuiText *NextText */
};
struct IntuiText ab_inst3= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
20,68, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "give you a hint. Select new mazes from the menu. Good luck!", /* IText */
&ab_txt6, /* struct IntuiText *NextText */
};
struct IntuiText ab_inst2= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
20,59, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "red spot to the dark red spot. The left mouse button will", /* IText */
&ab_inst3, /* struct IntuiText *NextText */
};
struct IntuiText ab_inst1= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
20,50, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) " Move the mouse pointer through the maze from the bright", /* IText */
&ab_inst2, /* struct IntuiText *NextText */
};
struct IntuiText ab_left2= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerXleft(19),120, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "Usenet Distribution", /* IText */
&ab_inst1, /* struct IntuiText *NextText */
};
struct IntuiText ab_left1= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerXleft(12),130, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "Spring, 1989", /* IText */
&ab_left2, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt5= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerXright(24),140, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "utoddl@ecsvax.uncecs.edu", /* IText */
&ab_left1, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt4= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerXright(20),130, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "utoddl@ecsvax.BITNET", /* IText */
&ab_txt5, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt3= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerXright(21),120, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "Author: Todd M. Lewis", /* IText */
&ab_txt4, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt2= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerX(32),35, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "The Disk Magazine for the Amiga.", /* IText */
&ab_txt3, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt1= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerX(30),25, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "First distributed on JUMPDISK,", /* IText */
&ab_txt2, /* struct IntuiText *NextText */
};
struct IntuiText ab_txt0= {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerX(33),15, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "Copyright (c) 1988, Todd M. Lewis", /* IText */
&ab_txt1, /* struct IntuiText *NextText */
};
struct IntuiText firsttext = {
3,2, /* FrontPen, BackPen */
JAM1, /* DrawMode */
centerX(27),6, /* LeftEdge, TopEdge */
&font, /* TextAttr *ITextFont */
(UBYTE *) "TML's AmigaMaze version 1.2", /* IText */
&ab_txt0, /* struct IntuiText *NextText */
};
struct Requester aboutreq;
about()
{ struct IntuiMessage *msg;
int class;
InitRequester( &aboutreq );
aboutreq.LeftEdge = 4;
aboutreq.TopEdge = 15;
aboutreq.Width = reqW;
aboutreq.Height = reqH;
aboutreq.ReqGadget = &aboutgad;
aboutreq.ReqText = &firsttext;
aboutreq.ReqBorder = &reqborder;
aboutreq.BackFill = 2; /* BLACK */
if (Request( &aboutreq, window )) {
do {
Wait( 1L << window->UserPort->mp_SigBit );
while (msg = (struct IntuiMessage *)GetMsg( window->UserPort )) {
class = msg->Class;
ReplyMsg(msg);
}
} while ( class != REQCLEAR );
}
}